Component({
  options: {
    multipleSlots: true
  },
  properties: {
    value: { // 值
      type: [Number, String],
      value: 1
    },
    size: { // 尺寸
      type: [Number, String],
      value: 28
    },
    fontSize: { // 文字大小
      type: [Number, String],
      value: 13
    },
    min: { // 最小值
      type: [Number, String],
      value: 1
    },
    max: { // 最大值
      type: [Number, String],
      value: 100
    },
    radius: { // 圆角尺寸
      type: [Number, String],
      value: 0
    },
    bgColor: { // 按钮背景颜色
      type: String,
      value: '#f2f2f2'
    },
    color: { // 按钮文本颜色
      type: String,
      value: '#333'
    },
  },
  data: {
    newValue: 1
  },
  lifetimes: {
    attached: function () {
      this.setData({
        newValue: this.data.value
      })
    },
  },
  methods: {
    //减少方法
    bindReduce() {
      let value = parseInt(this.data.newValue);
      if (value > this.data.min) {
        value -= 1;
        this.setData({
          newValue:value
        })
        this.triggerEvent('change', value);
      }
    },
    //增加方法
    bindRaise() {
      let value =parseInt(this.data.newValue);
      if (value < this.data.max) {
        value += 1;
        this.setData({
          newValue:value
        })
        this.triggerEvent('change', value);
      }
    },
    //数值输入的方法
    bindInputValue(e) {
      let value = parseInt(e.detail.value);
      if (value && value > this.data.max) {
        value = this.data.max;
      } else if ((value && value <= this.data.min) || !value) {
        value = this.data.min;
      }
      this.setData({
        newValue:value
      })
      this.triggerEvent('change', value);
    }
  }
})
